package com.wc.alorithm_blue_bridge._动态规划.线性DP.Q3348;

import java.util.*;
/**
 * @Author congge
 * @Date 2023/12/1 1:39
 *
 * 可构造的序列总数
 * https://www.lanqiao.cn/problems/3348/learning/?page=1&first_category_id=1
 * @description
 */
public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int mod = (int)1e9 + 7;
        int k = scan.nextInt();
        int n = scan.nextInt();
        // dp[i][j] 表示 i + 1 个数 以 j 结尾的数的个数
        // dp[i][j] += dp[i - 1][j % l == 0]
        int[][] dp = new int[n + 1][k + 1];

        for(int i = 1; i <= k; i++){
            dp[1][i] = 1;
        }
        /**
         * 可以
         */
        for(int i = 1; i < n; i++){
            for(int j = 1; j <= k; j++){
                for(int l = j; l <= k; l += j){
                    dp[i + 1][l] += dp[i][j];
                    dp[i + 1][l] %= mod;
                }
            }
        }
        int ans = 0;
        for(int i = 1; i <= k; i++){
            ans += dp[n][i];
            ans %= mod;
        }
        System.out.println(ans);
        scan.close();
    }
}
